import { Md5 } from 'ts-md5'
import { JSEncrypt } from 'jsencrypt'
import { getPlatformPubKey } from '@/api/login'

/**
 * 密码加密
 * @param {} val 需要加密的数据
 */
export async function pwdEncrypt(val: any) {
  const encryptor = new JSEncrypt() // 新建JSEncrypt对象
  const md5Val = Md5.hashStr(val) + '|' + new Date().getTime()
  const res: any = await getPlatformPubKey()
  if (res?.data) {
    encryptor.setPublicKey(res.data) // 设置公钥
    return encryptor.encrypt(md5Val)
  }
  return false
}
/**
 * 密码加密
 * @param {} val 需要加密的数据md5数据
 */
export async function pwdEncryptByMd5(val: any) {
  const encryptor = new JSEncrypt() // 新建JSEncrypt对象
  const md5Val = val + '|' + new Date().getTime()
  const res: any = await getPlatformPubKey()
  if (res?.data) {
    encryptor.setPublicKey(res.data) // 设置公钥
    return encryptor.encrypt(md5Val)
  }
  return false
}
